#ifndef __MSQLDATABASE_H__
#define __MSQLDATABASE_H__
#include <mysql/mysql.h>
#include <iostream>
#include "stdDataBase.h"

using namespace std;

class mysqlDataBase : public StdDataBase
{
public:
    /* 初始化数据库连接 */
    mysqlDataBase(const string & host, const string & user, const string & passwd);
    /* 释放数据库连接 */
    ~mysqlDataBase();

    /* 连接数据库 override防止函数名出现错误*/
    bool connectDB(const string & connStr) override;

    /* 执行sql语句(exec) */
    bool executeSql(const string & sql) override;

    /* 制定Sql查询语句（select），返回一个结果集，结果集从服务器端保存到客户端 */
    struct QueryResult querySql(const string & sql) override;

    /* 关闭数据库连接 */
    void close();

private:
    /* 数据库句柄 */
    MYSQL * m_conn;         // mysql_init()的返回值
    const char * m_host;    // 主机地址IP，本地可以写localhost（域名）或127.0.1
    const char * m_user;    // 连接服务器的用户名(一般是root)
    const char * m_passwd;  // 服务器用户的密码

};





#endif